<?php
class ContableService
{
	const HABILITACION_MATRICULA =1;
	const HABILITACION_EXAMEN =2;
	const HABILITACION_CURSILLO =3;
	const HABILITACION_INSCRIPCION =1;
	
	
	
	
	static public function getEstadoContablePersona(Persona $persona, $operacion = null)
	{
		
		$estado['BAS_ESTADO'] = intval(BASService::getEstadoPersonaBAS($persona));
		if($estado['BAS_ESTADO'] == BASService::BAS_NO_EXISTE_PERSONA)
		{
			$estado['BAS_ESTADO'] = false;
			$estado['BAS_MENSAJE'] = t('No existe la persona en el BAS','contable_etiqueta');	
		}
		elseif($estado['BAS_ESTADO'] == BASService::BAS_CONEXION_ERROR)
		{
			$estado['BAS_ESTADO'] = false;
			$estado['BAS_MENSAJE'] = t('Error al conectarse al BAS','contable_etiqueta');	
		}
		elseif ($estado['BAS_ESTADO'] == BASService::BAS_PERSONA_TIENE_DEUDA)
		{
			$estado['BAS_ESTADO'] = false;
			$estado['BAS_MENSAJE'] = t('Persona Tiene Deuda en el BAS','contable_etiqueta');
		}
		else 
		{
			$estado['BAS_ESTADO'] = true;
			$estado['BAS_MENSAJE'] = t('No presenta deuda en el BAS','contable_etiqueta');
		}
		
		$estado['AUTOGESTION_ESTADO'] = false;
		$estado['AUTOGESTION_MENSAJE'] = t('No esta habilitado por el modulo Contable del Autogestion','contable_etiqueta');
		
		if($operacion != null)
		{
			$criteria = new CDbCriteria();
			$criteria->addCondition('habilitacioncontable_persona_numerodocumento = :numDOC');
			$criteria->addCondition('habilitacioncontable_persona_tipodocumento_id = :tipoDOC');
			$criteria->params = array(':numDOC'=>$persona->persona_numerodocumento,':tipoDOC'=>$persona->persona_tipodocumento_id);
			$habilitacionContablePersona = HabilitacionContable::model()->find($criteria);
			
			if($habilitacionContablePersona != null)
			{
				if($operacion == ContableService::HABILITACION_MATRICULA && $habilitacionContablePersona['habilitacioncontable_matricula'])
				{
					$estado['AUTOGESTION_ESTADO'] = true;
					$estado['AUTOGESTION_MENSAJE'] = t('Esta habilitado para Matricularse en el modulo Contable del Autogestion','contable_etiqueta');
				}
				elseif($operacion == ContableService::HABILITACION_EXAMEN && $habilitacionContablePersona['habilitacioncontable_examen'])
				{
					$estado['AUTOGESTION_ESTADO'] = true;
					$estado['AUTOGESTION_MENSAJE'] = t('Esta habilitado para Examenes en el modulo Contable del Autogestion','contable_etiqueta');
				}
				elseif($operacion == ContableService::HABILITACION_CURSILLO && $habilitacionContablePersona['habilitacioncontable_cursillo'])
				{
					$estado['AUTOGESTION_ESTADO'] = true;
					$estado['AUTOGESTION_MENSAJE'] = t('Esta habilitado para el Cursillo en el modulo Contable del Autogestion','contable_etiqueta');
				}
				elseif($operacion == ContableService::HABILITACION_INSCRIPCION && $habilitacionContablePersona['habilitacioncontable_inscripcion'])
				{
					$estado['AUTOGESTION_ESTADO'] = true;
					$estado['AUTOGESTION_MENSAJE'] = t('Esta habilitado para Inscribirse en el modulo Contable del Autogestion','contable_etiqueta');
				}
			}
		}
		return $estado;
		
	}
}